package com.courseselector.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.courseselector.entity.user.User;

/**
 * 用户服务接口
 */
public interface UserService extends IService<User> {
    
    /**
     * 分页查询学生列表
     *
     * @param page 分页参数
     * @return 学生分页列表
     */
    Page<User> getStudentList(Page<User> page);
    
    /**
     * 分页查询教师列表
     *
     * @param page 分页参数
     * @return 教师分页列表
     */
    Page<User> getTeacherList(Page<User> page);
    
    /**
     * 根据ID获取学生信息
     *
     * @param id 学生ID
     * @return 学生信息
     */
    User getStudentById(Integer id);
    
    /**
     * 根据ID获取教师信息
     *
     * @param id 教师ID
     * @return 教师信息
     */
    User getTeacherById(Integer id);
    
    /**
     * 添加学生
     *
     * @param user 学生信息
     * @return 是否成功
     */
    boolean addStudent(User user);
    
    /**
     * 添加教师
     *
     * @param user 教师信息
     * @return 是否成功
     */
    boolean addTeacher(User user);
    
    /**
     * 更新学生信息
     *
     * @param user 学生信息
     * @return 是否成功
     */
    boolean updateStudent(User user);
    
    /**
     * 更新教师信息
     *
     * @param user 教师信息
     * @return 是否成功
     */
    boolean updateTeacher(User user);
    
    /**
     * 删除学生
     *
     * @param id 学生ID
     * @return 是否成功
     */
    boolean deleteStudent(Integer id);
    
    /**
     * 删除教师
     *
     * @param id 教师ID
     * @return 是否成功
     */
    boolean deleteTeacher(Integer id);
} 